package com.wei.czz.common.vo.admin;

import com.wei.czz.common.jsr303.group.Save;
import com.wei.czz.common.jsr303.group.Update;
import com.wei.czz.common.tool.BaseEntity;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.List;

/**
 * Created by IntelliJ IDEA.
 *
 * @author wei
 * date: 2022-09-22 22:37:15
 * className: DeptUserFlowVo
 * version: 1.0
 * description:
 */
@Getter
@Setter
public class DeptUserFlowVo extends BaseEntity {

    /**
     * 用户主键列表
     */
    @Size(min = 1, message = "用户主键列表不能为空", groups = { Save.class })
    private List<Long> userIds;

    /**
     * 原所属部门主键
     */
    @NotNull(message = "原所属部门主键不能为空", groups = { Save.class, Update.class })
    private Long preDeptId;

    /**
     * 新所属部门主键
     */
    @NotNull(message = "新所属部门主键不能为空", groups = { Save.class, Update.class })
    private Long nextDeptId;

    /**
     * 切换模式[-1-新用户 0-单个用户 1-批量切换 2-全部切换]
     */
    @NotNull(message = "切换模式不能为空", groups = { Save.class, Update.class })
    private Integer moveMode;

    /**
     * 切换原因
     */
    @NotBlank(message = "切换原因不能为空")
    private String moveRemark;

}
